﻿using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Infrastructure.Extensions
{
    public static class StringExtension
    {
        // 扩展方法：如果条件为真，返回原字符串；否则返回空字符串
        public static string If(this string str, bool condition)
        {
            return condition ? str : string.Empty; // 根据条件判断返回字符串或空字符串
        }

        // 扩展方法：判断字符串是否非空
        public static bool IfNotEmpty(this string str)
        {
            return !string.IsNullOrEmpty(str); // 返回字符串是否非空的布尔值
        }

        // 扩展方法：如果第一个字符串为空，则返回第二个字符串；否则返回第一个字符串
        public static string IfEmptyThen(string First, string Second)
        {
            return string.IsNullOrEmpty(First) ? Second : First; // 判断第一个字符串是否为空，并返回相应的字符串
        }
        /// <summary>
        /// 将字符串安全转换为 double 类型
        /// </summary>
        public static double ParseToDouble(this string input)
        {
            if (double.TryParse(input, NumberStyles.Any, CultureInfo.InvariantCulture, out var result))
            {
                return result;
            }
            return 0.0; // 返回默认值或根据需求抛出异常
        }
    }
}
